home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1995 August: Tool Chest / Dev.CD Aug 95 TC / Dev.CD Aug 95 TC.toast / Tool Chest / Interfaces / UniversalInterfaces 2.0 / PInterfaces / Displays.p < prev    next >
Encoding:
Text File  |  1995-04-18  |  20.5 KB  |  553 lines  |  [TEXT/MPS ]

  1. {
  2.      File:        Displays.p
  3.  
  4.      Contains:    Display Manager Interfaces.
  5.  
  6.      Version:    Technology:    System 7.5
  7.                  Package:    Universal Interfaces 2.0 in “MPW Latest” on ETO #17
  8.  
  9.      Copyright:    © 1984-1995 by Apple Computer, Inc.
  10.                  All rights reserved.
  11.  
  12.      Bugs?:        If you find a problem with this file, use the Apple Bug Reporter
  13.                  stack.  Include the file and version information (from above)
  14.                  in the problem description and send to:
  15.                      Internet:    apple.bugs@applelink.apple.com
  16.                      AppleLink:    APPLE.BUGS
  17.  
  18. }
  19.  
  20. {$IFC UNDEFINED UsingIncludes}
  21. {$SETC UsingIncludes := 0}
  22. {$ENDC}
  23.  
  24. {$IFC NOT UsingIncludes}
  25.  UNIT Displays;
  26.  INTERFACE
  27. {$ENDC}
  28.  
  29. {$IFC UNDEFINED __DISPLAYS__}
  30. {$SETC __DISPLAYS__ := 1}
  31.  
  32. {$I+}
  33. {$SETC DisplaysIncludes := UsingIncludes}
  34. {$SETC UsingIncludes := 1}
  35.  
  36.  
  37. {$IFC UNDEFINED __CONDITIONALMACROS__}
  38. {$I ConditionalMacros.p}
  39. {$ENDC}
  40.  
  41. {$IFC UNDEFINED __COMPONENTS__}
  42. {$I Components.p}
  43. {$ENDC}
  44. {    Types.p                                                        }
  45. {    MixedMode.p                                                    }
  46.  
  47. {$IFC UNDEFINED __VIDEO__}
  48. {$I Video.p}
  49. {$ENDC}
  50. {    Quickdraw.p                                                    }
  51. {        QuickdrawText.p                                            }
  52.  
  53. {$IFC UNDEFINED __APPLEEVENTS__}
  54. {$I AppleEvents.p}
  55. {$ENDC}
  56. {    Errors.p                                                    }
  57. {    Memory.p                                                    }
  58. {    OSUtils.p                                                    }
  59. {    Events.p                                                    }
  60. {    EPPC.p                                                        }
  61. {        AppleTalk.p                                                }
  62. {        Files.p                                                    }
  63. {        PPCToolbox.p                                            }
  64. {        Processes.p                                                }
  65. {    Notification.p                                                }
  66.  
  67. {$IFC UNDEFINED __WINDOWS__}
  68. {$I Windows.p}
  69. {$ENDC}
  70. {    Controls.p                                                    }
  71. {        Menus.p                                                    }
  72.  
  73. {$IFC UNDEFINED __EVENTS__}
  74. {$I Events.p}
  75. {$ENDC}
  76.  
  77. {$IFC UNDEFINED __PROCESSES__}
  78. {$I Processes.p}
  79. {$ENDC}
  80.  
  81. {$IFC UNDEFINED __DIALOGS__}
  82. {$I Dialogs.p}
  83. {$ENDC}
  84. {    TextEdit.p                                                    }
  85.  
  86. {$PUSH}
  87. {$ALIGN MAC68K}
  88. {$LibExport+}
  89.  
  90. CONST
  91. { AppleEvents Core Suite }
  92.     kAESystemConfigNotice        = 'cnfg';
  93. { Core Suite types }
  94.     kAEDisplayNotice            = 'dspl';
  95.     kAEDisplaySummary            = 'dsum';
  96.     keyDMConfigVersion            = 'dmcv';
  97.     keyDMConfigFlags            = 'dmcf';
  98.     keyDMConfigReserved            = 'dmcr';
  99.     keyDisplayID                = 'dmid';
  100.     keyDisplayComponent            = 'dmdc';
  101.     keyDisplayDevice            = 'dmdd';
  102.     keyDisplayFlags                = 'dmdf';
  103.     keyDisplayMode                = 'dmdm';
  104.     keyDisplayModeReserved        = 'dmmr';
  105.     keyDisplayReserved            = 'dmdr';
  106.     keyDisplayMirroredId        = 'dmmi';
  107.     keyDeviceFlags                = 'dddf';
  108.     keyDeviceDepthMode            = 'dddm';
  109.     keyDeviceRect                = 'dddr';
  110.     keyPixMapRect                = 'dpdr';
  111.     keyPixMapHResolution        = 'dphr';
  112.     keyPixMapVResolution        = 'dpvr';
  113.     keyPixMapPixelType            = 'dppt';
  114.     keyPixMapPixelSize            = 'dpps';
  115.     keyPixMapCmpCount            = 'dpcc';
  116.     keyPixMapCmpSize            = 'dpcs';
  117.     keyPixMapAlignment            = 'dppa';
  118.     keyPixMapResReserved        = 'dprr';
  119.     keyPixMapReserved            = 'dppr';
  120.     keyPixMapColorTableSeed        = 'dpct';
  121.     keySummaryMenubar            = 'dsmb';
  122.     keySummaryChanges            = 'dsch';
  123.     keyDisplayOldConfig            = 'dold';
  124.     keyDisplayNewConfig            = 'dnew';
  125.  
  126.     dmOnlyActiveDisplays        = true;
  127.     dmAllDisplays                = false;
  128.  
  129. { Switch Flags }
  130.     kNoSwitchConfirmBit            = 0;                            { Flag indicating that there is no need to confirm a switch to this mode }
  131.     kDepthNotAvailableBit        = 1;                            { Current depth not available in new mode }
  132.     kShowModeBit                = 3;                            { Show this mode even though it requires a confirm. }
  133.     kModeNotResizeBit            = 4;                            { Do not use this mode to resize display (for cards that mode drives a different connector). }
  134.  
  135. {    Summary Change Flags (sticky bits indicating an operation was performed)
  136.     For example, moving a display then moving it back will still set the kMovedDisplayBit.
  137. }
  138.     kBeginEndConfigureBit        = 0;
  139.     kMovedDisplayBit            = 1;
  140.     kSetMainDisplayBit            = 2;
  141.     kSetDisplayModeBit            = 3;
  142.     kAddDisplayBit                = 4;
  143.     kRemoveDisplayBit            = 5;
  144.     kNewDisplayBit                = 6;
  145.     kDisposeDisplayBit            = 7;
  146.     kEnabledDisplayBit            = 8;
  147.     kDisabledDisplayBit            = 9;
  148.     kMirrorDisplayBit            = 10;
  149.     kUnMirrorDisplayBit            = 11;
  150.  
  151. {    Power Mode constants for AVPowerStateRec.powerState.    }
  152.     kAVPowerOff                    = 0;
  153.     kAVPowerStandby                = 1;
  154.     kAVPowerSuspend                = 2;
  155.     kAVPowerOn                    = 3;
  156.  
  157. { Notification Messages for extended call back routines }
  158.     kDMNotifyInstalled            = 1;                            { At install time }
  159.     kDMNotifyEvent                = 2;                            { Post change time }
  160.     kDMNotifyRemoved            = 3;                            { At remove time }
  161.     kDMNotifyPrep                = 4;                            { Pre change time }
  162.     kDMNotifyExtendEvent        = 5;                            { Allow registrees to extend apple event before it is sent }
  163.     kDMNotifyDependents            = 6;                            { Minor notification check without full update }
  164. { Notification Flags }
  165.     kExtendedNotificationProc    = 0+(1 * (2**(16)));
  166.  
  167. { types for notifyType }
  168.     kFullNotify                    = 0;                            { This is the appleevent whole nine yards notify }
  169.     kFullDependencyNotify        = 1;                            { Only sends to those who want to know about interrelated functionality (used for updating UI) }
  170.  
  171. { DisplayID/DeviceID constants }
  172.     kDummyDeviceID                = $0FF;                            { This is the ID of the dummy display, used when the last “real” display is disabled.}
  173.     kInvalidDisplayID            = $000;                            { This is the invalid ID}
  174.     kFirstDisplayID                = $100;
  175.  
  176. { bits for panelListFlags }
  177.     kAllowDuplicatesBit            = 0;
  178.  
  179. { Constants for fidelity checks }
  180.     kNoFidelity                    = 0;
  181.     kMinimumFidelity            = 1;
  182.     kDefaultFidelity            = 500;                            { I'm just picking a number for Apple default panels and engines}
  183.     kDefaultManufacturerFidelity = 1000;                        { I'm just picking a number for Manufacturer's panels and engines (overrides apple defaults)}
  184.  
  185.     kAnyPanelType                = 0;                            { Pass to DMNewEngineList for list of all panels (as opposed to specific types)}
  186.     kAnyEngineType                = 0;                            { Pass to DMNewEngineList for list of all engines}
  187.     kAnyDeviceType                = 0;                            { Pass to DMNewDeviceList for list of all devices}
  188.     kAnyPortType                = 0;                            { Pass to DMNewDevicePortList for list of all devices}
  189.  
  190. { portListFlags for DM_NewDevicePortList }
  191. { Should offline devices be put into the port list (such as dummy display) }
  192.     kPLIncludeOfflineDevicesBit    = 0;
  193.  
  194.     
  195. TYPE
  196.     DMFidelityType = LONGINT;
  197.  
  198. { AVID is an ID for ports and devices the old DisplayID type
  199.     is carried on for compatibility
  200. }
  201.     AVIDType = LONGINT;
  202.  
  203.     DisplayIDType = AVIDType;
  204.  
  205.     DMListType = Ptr;
  206.  
  207.     DMListIndexType = LONGINT;
  208.  
  209.     AVPowerStateRec = RECORD
  210.         powerState:                LONGINT;
  211.         powerFlags:                LONGINT;
  212.         powerReserved1:            LONGINT;
  213.         powerReserved2:            LONGINT;
  214.     END;
  215.  
  216.     AVPowerStatePtr = ^AVPowerStateRec;
  217.  
  218.     DMComponentListEntryRec = RECORD
  219.         itemID:                    DisplayIDType;                            { DisplayID Manager}
  220.         itemComponent:            Component;                                { Component Manager}
  221.         itemDescription:        ComponentDescription;                    { We can always construct this if we use something beyond the compontent mgr.}
  222.         itemClass:                ResType;                                { Class of group to put this panel (eg geometry/color/etc for panels, brightness/contrast for engines, video out/sound/etc for devices)}
  223.         itemFidelity:            DMFidelityType;                            { How good is this item for the specified search?}
  224.         itemFlags:                LONGINT;                                { Set to 0 (future expansion)}
  225.         itemReserved:            ResType;                                { What kind of code does the itemReference point to  (right now - kPanelEntryTypeComponentMgr only)}
  226.         itemFuture:                LONGINT;                                { Set to 0 (future expansion - probably an alternate code style)}
  227.     END;
  228.  
  229.     DMComponentListEntryPtr = ^DMComponentListEntryRec;
  230.  
  231. { ••• Move AVLocationRec to AVComponents.i AFTER AVComponents.i is created}
  232.     AVLocationRec = RECORD
  233.         locationConstant:        LONGINT;                                { Set to 0 (future expansion - probably an alternate code style)}
  234.     END;
  235.  
  236.     AVLocationPtr = ^AVLocationRec;
  237.  
  238.     DMDisplayModeListEntryRec = RECORD
  239.         displayModeFlags:        LONGINT;
  240.         displayModeSwitchInfo:    VDSwitchInfoPtr;
  241.         displayModeResolutionInfo: VDResolutionInfoPtr;
  242.         displayModeTimingInfo:    VDTimingInfoPtr;
  243.         displayModeSmallestRect: ^Rect;                                    { Smallest Mode Rect}
  244.         displayModeLargestRect:    ^Rect;                                    { Largest Mode Rect}
  245.         displayModeName:        ^Str255;                                { Name of the timing mode}
  246.     END;
  247.  
  248.     DMDisplayModeListEntryPtr = ^DMDisplayModeListEntryRec;
  249.  
  250.     DependentNotifyRec = RECORD
  251.         notifyType:                ResType;                                { What type was the engine that made the change (may be zero)}
  252.         notifyClass:            ResType;                                { What class was the change (eg geometry, color etc)}
  253.         notifyPortID:            DisplayIDType;                            { Which device was touched (kInvalidDisplayID -> all or none)}
  254.         notifyComponent:        ComponentInstance;                        { What engine did it (may be 0)?}
  255.         notifyVersion:            LONGINT;                                { Set to 0 (future expansion)}
  256.         notifyFlags:            LONGINT;                                { Set to 0 (future expansion)}
  257.         notifyReserved:            LONGINT;                                { Set to 0 (future expansion)}
  258.         notifyFuture:            LONGINT;                                { Set to 0 (future expansion)}
  259.     END;
  260.  
  261.     DependentNotifyPtr = ^DependentNotifyRec;
  262.  
  263.     DMNotificationProcPtr = ProcPtr;  { PROCEDURE DMNotification(VAR theEvent: AppleEvent); }
  264.     DMExtendedNotificationProcPtr = ProcPtr;  { PROCEDURE DMExtendedNotification(userData: UNIV Ptr; theMessage: INTEGER; notifyData: UNIV Ptr); }
  265.     DMComponentListIteratorProcPtr = ProcPtr;  { PROCEDURE DMComponentListIterator(userData: UNIV Ptr; itemIndex: DMListIndexType; componentInfo: DMComponentListEntryPtr); }
  266.     DMDisplayModeListIteratorProcPtr = ProcPtr;  { PROCEDURE DMDisplayModeListIterator(userData: UNIV Ptr; itemIndex: DMListIndexType; displaymodeInfo: DMDisplayModeListEntryPtr); }
  267.     DMNotificationUPP = UniversalProcPtr;
  268.     DMExtendedNotificationUPP = UniversalProcPtr;
  269.     DMComponentListIteratorUPP = UniversalProcPtr;
  270.     DMDisplayModeListIteratorUPP = UniversalProcPtr;
  271.  
  272. CONST
  273.     uppDMNotificationProcInfo = $000000C0; { PROCEDURE (4 byte param); }
  274.     uppDMExtendedNotificationProcInfo = $00000EC0; { PROCEDURE (4 byte param, 2 byte param, 4 byte param); }
  275.     uppDMComponentListIteratorProcInfo = $00000FC0; { PROCEDURE (4 byte param, 4 byte param, 4 byte param); }
  276.     uppDMDisplayModeListIteratorProcInfo = $00000FC0; { PROCEDURE (4 byte param, 4 byte param, 4 byte param); }
  277.  
  278. FUNCTION NewDMNotificationProc(userRoutine: DMNotificationProcPtr): DMNotificationUPP;
  279.     {$IFC NOT GENERATINGCFM }
  280.     INLINE $2E9F;
  281.     {$ENDC}
  282.  
  283. FUNCTION NewDMExtendedNotificationProc(userRoutine: DMExtendedNotificationProcPtr): DMExtendedNotificationUPP;
  284.     {$IFC NOT GENERATINGCFM }
  285.     INLINE $2E9F;
  286.     {$ENDC}
  287.  
  288. FUNCTION NewDMComponentListIteratorProc(userRoutine: DMComponentListIteratorProcPtr): DMComponentListIteratorUPP;
  289.     {$IFC NOT GENERATINGCFM }
  290.     INLINE $2E9F;
  291.     {$ENDC}
  292.  
  293. FUNCTION NewDMDisplayModeListIteratorProc(userRoutine: DMDisplayModeListIteratorProcPtr): DMDisplayModeListIteratorUPP;
  294.     {$IFC NOT GENERATINGCFM }
  295.     INLINE $2E9F;
  296.     {$ENDC}
  297.  
  298. PROCEDURE CallDMNotificationProc(VAR theEvent: AppleEvent; userRoutine: DMNotificationUPP);
  299.     {$IFC NOT GENERATINGCFM}
  300.     INLINE $205F, $4E90;
  301.     {$ENDC}
  302.  
  303. PROCEDURE CallDMExtendedNotificationProc(userData: UNIV Ptr; theMessage: INTEGER; notifyData: UNIV Ptr; userRoutine: DMExtendedNotificationUPP);
  304.     {$IFC NOT GENERATINGCFM}
  305.     INLINE $205F, $4E90;
  306.     {$ENDC}
  307.  
  308. PROCEDURE CallDMComponentListIteratorProc(userData: UNIV Ptr; itemIndex: DMListIndexType; componentInfo: DMComponentListEntryPtr; userRoutine: DMComponentListIteratorUPP);
  309.     {$IFC NOT GENERATINGCFM}
  310.     INLINE $205F, $4E90;
  311.     {$ENDC}
  312.  
  313. PROCEDURE CallDMDisplayModeListIteratorProc(userData: UNIV Ptr; itemIndex: DMListIndexType; displaymodeInfo: DMDisplayModeListEntryPtr; userRoutine: DMDisplayModeListIteratorUPP);
  314.     {$IFC NOT GENERATINGCFM}
  315.     INLINE $205F, $4E90;
  316.     {$ENDC}
  317.  
  318. FUNCTION DMGetFirstScreenDevice(activeOnly: BOOLEAN): GDHandle;
  319.     {$IFC NOT GENERATINGCFM}
  320.     INLINE $7000, $ABEB;
  321.     {$ENDC}
  322. FUNCTION DMGetNextScreenDevice(theDevice: GDHandle; activeOnly: BOOLEAN): GDHandle;
  323.     {$IFC NOT GENERATINGCFM}
  324.     INLINE $7001, $ABEB;
  325.     {$ENDC}
  326. PROCEDURE DMDrawDesktopRect(VAR globalRect: Rect);
  327.     {$IFC NOT GENERATINGCFM}
  328.     INLINE $7002, $ABEB;
  329.     {$ENDC}
  330. PROCEDURE DMDrawDesktopRegion(globalRgn: RgnHandle);
  331.     {$IFC NOT GENERATINGCFM}
  332.     INLINE $7003, $ABEB;
  333.     {$ENDC}
  334. FUNCTION DMBeginConfigureDisplays(VAR displayState: Handle): OSErr;
  335.     {$IFC NOT GENERATINGCFM}
  336.     INLINE $303C, $0206, $ABEB;
  337.     {$ENDC}
  338. FUNCTION DMEndConfigureDisplays(displayState: Handle): OSErr;
  339.     {$IFC NOT GENERATINGCFM}
  340.     INLINE $303C, $0207, $ABEB;
  341.     {$ENDC}
  342. FUNCTION DMAddDisplay(newDevice: GDHandle; driver: INTEGER; mode: LONGINT; reserved: LONGINT; displayID: LONGINT; displayComponent: Component; displayState: Handle): OSErr;
  343.     {$IFC NOT GENERATINGCFM}
  344.     INLINE $303C, $0D08, $ABEB;
  345.     {$ENDC}
  346. FUNCTION DMMoveDisplay(moveDevice: GDHandle; x: INTEGER; y: INTEGER; displayState: Handle): OSErr;
  347.     {$IFC NOT GENERATINGCFM}
  348.     INLINE $303C, $0609, $ABEB;
  349.     {$ENDC}
  350. FUNCTION DMDisableDisplay(disableDevice: GDHandle; displayState: Handle): OSErr;
  351.     {$IFC NOT GENERATINGCFM}
  352.     INLINE $303C, $040A, $ABEB;
  353.     {$ENDC}
  354. FUNCTION DMEnableDisplay(enableDevice: GDHandle; displayState: Handle): OSErr;
  355.     {$IFC NOT GENERATINGCFM}
  356.     INLINE $303C, $040B, $ABEB;
  357.     {$ENDC}
  358. FUNCTION DMRemoveDisplay(removeDevice: GDHandle; displayState: Handle): OSErr;
  359.     {$IFC NOT GENERATINGCFM}
  360.     INLINE $303C, $040C, $ABEB;
  361.     {$ENDC}
  362. FUNCTION DMSetMainDisplay(newMainDevice: GDHandle; displayState: Handle): OSErr;
  363.     {$IFC NOT GENERATINGCFM}
  364.     INLINE $303C, $0410, $ABEB;
  365.     {$ENDC}
  366. FUNCTION DMSetDisplayMode(theDevice: GDHandle; mode: LONGINT; VAR depthMode: LONGINT; reserved: LONGINT; displayState: Handle): OSErr;
  367.     {$IFC NOT GENERATINGCFM}
  368.     INLINE $303C, $0A11, $ABEB;
  369.     {$ENDC}
  370. FUNCTION DMCheckDisplayMode(theDevice: GDHandle; mode: LONGINT; depthMode: LONGINT; VAR switchFlags: LONGINT; reserved: LONGINT; VAR modeOk: BOOLEAN): OSErr;
  371.     {$IFC NOT GENERATINGCFM}
  372.     INLINE $303C, $0C12, $ABEB;
  373.     {$ENDC}
  374. FUNCTION DMGetDeskRegion(VAR desktopRegion: RgnHandle): OSErr;
  375.     {$IFC NOT GENERATINGCFM}
  376.     INLINE $303C, $0213, $ABEB;
  377.     {$ENDC}
  378. FUNCTION DMRegisterNotifyProc(notificationProc: DMNotificationUPP; whichPSN: ProcessSerialNumberPtr): OSErr;
  379.     {$IFC NOT GENERATINGCFM}
  380.     INLINE $303C, $0414, $ABEB;
  381.     {$ENDC}
  382. FUNCTION DMRemoveNotifyProc(notificationProc: DMNotificationUPP; whichPSN: ProcessSerialNumberPtr): OSErr;
  383.     {$IFC NOT GENERATINGCFM}
  384.     INLINE $303C, $0415, $ABEB;
  385.     {$ENDC}
  386. FUNCTION DMQDIsMirroringCapable(VAR qdIsMirroringCapable: BOOLEAN): OSErr;
  387.     {$IFC NOT GENERATINGCFM}
  388.     INLINE $303C, $0216, $ABEB;
  389.     {$ENDC}
  390. FUNCTION DMCanMirrorNow(VAR canMirrorNow: BOOLEAN): OSErr;
  391.     {$IFC NOT GENERATINGCFM}
  392.     INLINE $303C, $0217, $ABEB;
  393.     {$ENDC}
  394. FUNCTION DMIsMirroringOn(VAR isMirroringOn: BOOLEAN): OSErr;
  395.     {$IFC NOT GENERATINGCFM}
  396.     INLINE $303C, $0218, $ABEB;
  397.     {$ENDC}
  398. FUNCTION DMMirrorDevices(gD1: GDHandle; gD2: GDHandle; displayState: Handle): OSErr;
  399.     {$IFC NOT GENERATINGCFM}
  400.     INLINE $303C, $0619, $ABEB;
  401.     {$ENDC}
  402. FUNCTION DMUnmirrorDevice(gDevice: GDHandle; displayState: Handle): OSErr;
  403.     {$IFC NOT GENERATINGCFM}
  404.     INLINE $303C, $041A, $ABEB;
  405.     {$ENDC}
  406. FUNCTION DMGetNextMirroredDevice(gDevice: GDHandle; VAR mirroredDevice: GDHandle): OSErr;
  407.     {$IFC NOT GENERATINGCFM}
  408.     INLINE $303C, $041B, $ABEB;
  409.     {$ENDC}
  410. FUNCTION DMBlockMirroring: OSErr;
  411.     {$IFC NOT GENERATINGCFM}
  412.     INLINE $701C, $ABEB;
  413.     {$ENDC}
  414. FUNCTION DMUnblockMirroring: OSErr;
  415.     {$IFC NOT GENERATINGCFM}
  416.     INLINE $701D, $ABEB;
  417.     {$ENDC}
  418. FUNCTION DMGetDisplayMgrA5World(VAR dmA5: Ptr): OSErr;
  419.     {$IFC NOT GENERATINGCFM}
  420.     INLINE $303C, $021E, $ABEB;
  421.     {$ENDC}
  422. FUNCTION DMGetDisplayIDByGDevice(displayDevice: GDHandle; VAR displayID: DisplayIDType; failToMain: BOOLEAN): OSErr;
  423.     {$IFC NOT GENERATINGCFM}
  424.     INLINE $303C, $051F, $ABEB;
  425.     {$ENDC}
  426. FUNCTION DMGetGDeviceByDisplayID(displayID: DisplayIDType; VAR displayDevice: GDHandle; failToMain: BOOLEAN): OSErr;
  427.     {$IFC NOT GENERATINGCFM}
  428.     INLINE $303C, $0520, $ABEB;
  429.     {$ENDC}
  430. FUNCTION DMSetDisplayComponent(theDevice: GDHandle; displayComponent: Component): OSErr;
  431.     {$IFC NOT GENERATINGCFM}
  432.     INLINE $303C, $0421, $ABEB;
  433.     {$ENDC}
  434. FUNCTION DMGetDisplayComponent(theDevice: GDHandle; VAR displayComponent: Component): OSErr;
  435.     {$IFC NOT GENERATINGCFM}
  436.     INLINE $303C, $0422, $ABEB;
  437.     {$ENDC}
  438. FUNCTION DMNewDisplay(VAR newDevice: GDHandle; driverRefNum: INTEGER; mode: LONGINT; reserved: LONGINT; displayID: DisplayIDType; displayComponent: Component; displayState: Handle): OSErr;
  439.     {$IFC NOT GENERATINGCFM}
  440.     INLINE $303C, $0D23, $ABEB;
  441.     {$ENDC}
  442. FUNCTION DMDisposeDisplay(disposeDevice: GDHandle; displayState: Handle): OSErr;
  443.     {$IFC NOT GENERATINGCFM}
  444.     INLINE $303C, $0424, $ABEB;
  445.     {$ENDC}
  446. FUNCTION DMResolveDisplayComponents: OSErr;
  447.     {$IFC NOT GENERATINGCFM}
  448.     INLINE $7025, $ABEB;
  449.     {$ENDC}
  450. FUNCTION DMRegisterExtendedNotifyProc(notifyProc: DMExtendedNotificationUPP; notifyUserData: UNIV Ptr; nofifyOnFlags: INTEGER; whichPSN: ProcessSerialNumberPtr): OSErr;
  451.     {$IFC NOT GENERATINGCFM}
  452.     INLINE $303C, $07EF, $ABEB;
  453.     {$ENDC}
  454. FUNCTION DMRemoveExtendedNotifyProc(notifyProc: DMExtendedNotificationUPP; notifyUserData: UNIV Ptr; whichPSN: ProcessSerialNumberPtr; removeFlags: INTEGER): OSErr;
  455.     {$IFC NOT GENERATINGCFM}
  456.     INLINE $303C, $0726, $ABEB;
  457.     {$ENDC}
  458. FUNCTION DMNewAVPanelList(displayID: DisplayIDType; panelType: ResType; minimumFidelity: DMFidelityType; panelListFlags: LONGINT; reserved: LONGINT; VAR thePanelCount: DMListIndexType; VAR thePanelList: DMListType): OSErr;
  459.     {$IFC NOT GENERATINGCFM}
  460.     INLINE $303C, $0C27, $ABEB;
  461.     {$ENDC}
  462. FUNCTION DMNewAVEngineList(displayID: DisplayIDType; engineType: ResType; minimumFidelity: DMFidelityType; engineListFlags: LONGINT; reserved: LONGINT; VAR engineCount: DMListIndexType; VAR engineList: DMListType): OSErr;
  463.     {$IFC NOT GENERATINGCFM}
  464.     INLINE $303C, $0C28, $ABEB;
  465.     {$ENDC}
  466. FUNCTION DMNewAVDeviceList(deviceType: ResType; deviceListFlags: LONGINT; reserved: LONGINT; VAR deviceCount: DMListIndexType; VAR deviceList: DMListType): OSErr;
  467.     {$IFC NOT GENERATINGCFM}
  468.     INLINE $303C, $0A29, $ABEB;
  469.     {$ENDC}
  470. FUNCTION DMNewAVPortListByPortType(subType: ResType; portListFlags: LONGINT; reserved: LONGINT; VAR devicePortCount: DMListIndexType; VAR theDevicePortList: DMListType): OSErr;
  471.     {$IFC NOT GENERATINGCFM}
  472.     INLINE $303C, $0A2A, $ABEB;
  473.     {$ENDC}
  474. FUNCTION DMGetIndexedComponentFromList(panelList: DMListType; itemIndex: DMListIndexType; reserved: LONGINT; listIterator: DMComponentListIteratorUPP; userData: UNIV Ptr): OSErr;
  475.     {$IFC NOT GENERATINGCFM}
  476.     INLINE $303C, $0A2B, $ABEB;
  477.     {$ENDC}
  478. FUNCTION DMDisposeList(panelList: DMListType): OSErr;
  479.     {$IFC NOT GENERATINGCFM}
  480.     INLINE $303C, $022C, $ABEB;
  481.     {$ENDC}
  482. FUNCTION DMGetNameByAVID(theID: AVIDType; VAR name: Str255): OSErr;
  483.     {$IFC NOT GENERATINGCFM}
  484.     INLINE $303C, $042D, $ABEB;
  485.     {$ENDC}
  486. FUNCTION DMNewAVIDByPortComponent(thePortComponent: Component; portKind: ResType; reserved: LONGINT; VAR newID: AVIDType): OSErr;
  487.     {$IFC NOT GENERATINGCFM}
  488.     INLINE $303C, $082E, $ABEB;
  489.     {$ENDC}
  490. FUNCTION DMGetPortComponentByAVID(thePortID: DisplayIDType; VAR thePortComponent: Component; VAR theDesciption: ComponentDescription; VAR thePortKind: ResType): OSErr;
  491.     {$IFC NOT GENERATINGCFM}
  492.     INLINE $303C, $082F, $ABEB;
  493.     {$ENDC}
  494. FUNCTION DMSendDependentNotification(notifyType: ResType; notifyClass: ResType; displayID: AVIDType; notifyComponent: ComponentInstance): OSErr;
  495.     {$IFC NOT GENERATINGCFM}
  496.     INLINE $303C, $0A30, $ABEB;
  497.     {$ENDC}
  498. FUNCTION DMDisposePortComponent(thePortComponent: Component): OSErr;
  499.     {$IFC NOT GENERATINGCFM}
  500.     INLINE $303C, $0231, $ABEB;
  501.     {$ENDC}
  502. FUNCTION DMSaveScreenPrefs(reserved1: LONGINT; saveFlags: LONGINT; reserved2: LONGINT): OSErr;
  503.     {$IFC NOT GENERATINGCFM}
  504.     INLINE $303C, $0632, $ABEB;
  505.     {$ENDC}
  506. FUNCTION DMNewAVIDByDeviceComponent(theDeviceComponent: Component; portKind: ResType; reserved: LONGINT; VAR newID: DisplayIDType): OSErr;
  507.     {$IFC NOT GENERATINGCFM}
  508.     INLINE $303C, $0833, $ABEB;
  509.     {$ENDC}
  510. FUNCTION DMNewAVPortListByDeviceAVID(theID: AVIDType; minimumFidelity: DMFidelityType; portListFlags: LONGINT; reserved: LONGINT; VAR devicePortCount: DMListIndexType; VAR theDevicePortList: DMListType): OSErr;
  511.     {$IFC NOT GENERATINGCFM}
  512.     INLINE $303C, $0C34, $ABEB;
  513.     {$ENDC}
  514. FUNCTION DMGetDeviceComponentByAVID(theDeviceID: AVIDType; VAR theDeviceComponent: Component; VAR theDesciption: ComponentDescription; VAR theDeviceKind: ResType): OSErr;
  515.     {$IFC NOT GENERATINGCFM}
  516.     INLINE $303C, $0835, $ABEB;
  517.     {$ENDC}
  518. FUNCTION DMNewDisplayModeList(displayID: DisplayIDType; modeListFlags: LONGINT; reserved: LONGINT; VAR thePanelCount: DMListIndexType; VAR thePanelList: DMListType): OSErr;
  519.     {$IFC NOT GENERATINGCFM}
  520.     INLINE $303C, $0A36, $ABEB;
  521.     {$ENDC}
  522. FUNCTION DMGetIndexedDisplayModeFromList(panelList: DMListType; itemIndex: DMListIndexType; reserved: LONGINT; listIterator: DMDisplayModeListIteratorUPP; userData: UNIV Ptr): OSErr;
  523.     {$IFC NOT GENERATINGCFM}
  524.     INLINE $303C, $0A37, $ABEB;
  525.     {$ENDC}
  526. FUNCTION DMGetGraphicInfoByAVID(theID: AVIDType; VAR theAVPcit: PicHandle; VAR theAVIconSuite: Handle; VAR theAVLocation: AVLocationRec): OSErr;
  527.     {$IFC NOT GENERATINGCFM}
  528.     INLINE $303C, $0838, $ABEB;
  529.     {$ENDC}
  530. FUNCTION DMGetAVPowerState(theID: AVIDType; getPowerState: AVPowerStatePtr; reserved1: LONGINT): OSErr;
  531.     {$IFC NOT GENERATINGCFM}
  532.     INLINE $303C, $0839, $ABEB;
  533.     {$ENDC}
  534. FUNCTION DMSetAVPowerState(theID: AVIDType; setPowerState: AVPowerStatePtr; reserved1: LONGINT; displayState: Handle): OSErr;
  535.     {$IFC NOT GENERATINGCFM}
  536.     INLINE $303C, $083A, $ABEB;
  537.     {$ENDC}
  538. FUNCTION DMGetDeviceAVIDByPortAVID(portAVID: AVIDType; VAR deviceAVID: AVIDType): OSErr;
  539.     {$IFC NOT GENERATINGCFM}
  540.     INLINE $303C, $043B, $ABEB;
  541.     {$ENDC}
  542.  
  543. {$ALIGN RESET}
  544. {$POP}
  545.  
  546. {$SETC UsingIncludes := DisplaysIncludes}
  547.  
  548. {$ENDC} {__DISPLAYS__}
  549.  
  550. {$IFC NOT UsingIncludes}
  551.  END.
  552. {$ENDC}
  553.